This invention relates to semiconductor multi-device systems and specifically to a semiconductor multi-device system incorporated on a single semiconductor chip with a logic means for efficiently controlling the mode of operation of a set of on-chip data bus drivers.
In most systems using semiconductor devices, the devices comprising the system are discrete, that is, each device is formed on its own individual chip. To interconnect the devices together to form a system, each chip is electrically attached to a printed circuit board. The circuit board usually has an electrically conductive path pattern already formed upon it so that once the devices are attached to the board, they are electrically connected to each other as well. This type of system is referred to as a discrete system. In recent years, there has been a movement away from discrete systems toward a multi-device system wherein a plurality of devices, usually including a central processing unit, are formed on a single chip. In multi-device systems, the chip is itself a system with the interconnections between the different devices formed within the semiconductor material itself. Multi-device systems provide several advantages over discrete systems. First of all, because the entire system is incorporated on a single chip, no circuit board is needed. This results in a significant reduction in the physical size of the system. Also, because the entire system is solid state, the multi-device system is more reliable than the discrete system. The advantage of a discrete system is that it gives the buyer of the chips much more freedom because it is the buyer, not the chip manufacturer, that assembles the system. However, in many applications, it is the functionality and not the flexibility of the system that is the major concern. For these applications, multi-device systems are ideal.
Forming a multi-device system is not simply a matter of fabricating a plurality of discrete devices onto a single semiconductor chip and interconnecting them. Some considerations which were insignificant in a discrete system need to be taken into account in a multi-device system. One such consideration is that of data bus drivers. In a discrete system, each of the individual devices has its own set of data bus drivers to enable it to transfer data to and from the other devices. Equipping each device of a multi-device system with its own set of data bus drivers is impractical, however. Not only do these drivers require space on the chip but they also consume a certain amount of power even when they are not driving any signals. Thus, from both a space standpoint and a power standpoint, these drivers are inefficient. For these reasons, multi-device systems are usually equipped with only one set of data bus drivers which are shared by the different devices. For most multi-device systems, on-chip devices are typically directly connected to each other so that, internally, no data bus drivers are needed at all. Data bus drivers are only used to communicate with off-chip components and, for this reason, they are considered to be an interface between the multi-device system and the off-chip components. Because the data bus drivers behave as an interface, a logic means must be provided to control the drivers to ensure that they function properly in relation with the off-chip components. Frequently, the off-chip components have a set of data bus drivers of their own so that the logic means controlling the on-chip drivers should take the possible presence of the off-chip drivers into account. Otherwise, the on-chip drivers may interfere with the operation of the off-chip drivers and vice versa. This interfacing of the on-chip drivers and the off-chip drivers often requires very complicated logic and the more complex the logic, the more components are required to implement the logic. Thus, a logic means for controlling the on-chip bus drivers which simplifies the logic necessary to interface with the off-chip drivers would be desirable.
Typically, in a multi-device system, it is the on-chip central processing unit that controls access to the on-chip data bus. In some applications, however, it is desirable for an off-chip processing means to control access to the on-chip data bus. It would be desirable for the logic means controlling the operation of the bus drivers to be able to accommodate both types of arrangements.
It is an object of the invention to provide a multi-device system having a logic means for controlling the on-chip bus drivers which simplifies the logic necessary to interface with off-chip components including off-chip drivers.
Another object of the invention is to provide a multi-device system having a logic means for controlling the on-chip bus drivers which is capable of functioning properly regardless of whether the processing unit controlling access to the on-chip data bus is on-chip or off-chip.